import dt from '@dt/dt'
import clueCustomerMgr from '@/biz/customer/clueCustomer.js'
import dateOpt from '@/biz/option/date.js'

let _this = null
let pub = null

function options(vm, head) {
  pub = head
  console.log(pub, 'pub');
  _this = vm
  return [
    {
      type: 'checkbox',
      width: 40,
      fixed: 'left',
      // showOverflow: false,
      // cell: {
      //   value: (row) => {
      //     return row.newUserId != row.userId ?
      //       '该客户的“现归属顾问”已变更，与分配记录不同，不可重新分配' : row.hereto != 1 ? "该客户已到访本案场（已到访），不可重新分配" :
      //       '2'
      //   },
      //   text: {
      //     placement: 'right',
      //     width: '40px',
      //     position: 'relative',
      //     height: '20px',
      //     left: '-10px',
      //     opacity: 0
      //   }
      // },
    },

    // {
    //   type: 'checkbox',
    //   width: 60,
    //   fixed: 'left',
    //   slots: {
    //     default: (params, h) => {
    //       return [h('div', {
    //             // style: {
    //             //   cursor: 'pointer',
    //             //   padding: '0 5px',
    //             //   color: '#0F42A7',
    //             //   opacity: 0,
    //             //   height: 0
    //             // },
    //           },
    //           params.row.newUserId == params.row.userId ?
    //           '该客户的“现归属顾问”已变更，与分配记录不同，不可重新分配' : ''),
    //         h('div', {
    //             style: {
    //               cursor: 'pointer',
    //               padding: '0 5px',
    //               color: '#0F42A7',
    //               opacity: 0,
    //               height: 0
    //             },
    //           },
    //           params.row.hereto == 1 ?
    //           '该客户已到访本案场（已到访），不可重新分配' : '')
    //       ]
    //     }
    //   }
    // },
    {
      field: 'oldUserName',
      minWidth: 160,
      header: {
        filter: {
          title: pub == 'public' ? '原归属顾问' : '分配前归属顾问',
          key: 'oldUserId',
          placeholder: pub == 'public' ? '请选择原归属顾问' : '请选择分配前归属顾问',
          load: (o) => {
            o.select.options = clueCustomerMgr.consultants1()
          },
          select: {
            options: [],
            // multiple: true,
            filterable: true,
            remote: (key) => {
              return clueCustomerMgr.selectTeamUser(key)
            }
          }
        },

      },
      // slots: {
      //   default: (params, h) => {
      //     return [h('div',
      //       `${params.row.clCounselorName}(${params.row.clCounselorWorkNo})`)]
      //   }
      // }
    },
    {
      field: 'newUserName',
      minWidth: 160,

      header: {
        filter: {
          title: pub == 'public' ? '现归属顾问' : '分配后归属顾问',
          key: 'newUserId',
          placeholder: pub == 'public' ? '请选择现归属顾问' : '请选择分配后归属顾问',
          load: (o) => {
            o.select.options = clueCustomerMgr.consultants1()
          },
          select: {
            options: [],
            // multiple: true,
            filterable: true,
            remote: (key) => {
              return clueCustomerMgr.selectTeamUser(key)
            }
          }
        },

      },
      // slots: {
      //   default: (params, h) => {
      //     return [h('div',
      //       `${params.row.clCounselorName}(${params.row.clCounselorWorkNo})`)]
      //   }
      // }
    },


    {
      field: 'customerName',
      minWidth: 120,
      header: {
        filter: {
          title: '客户姓名',
          key: 'customerName',
          placeholder: '请输入客户姓名',
          input: {}
        }
      }
    },
    {
      field: 'customerPhone',
      minWidth: 130,
      header: {
        filter: {
          title: '手机号码',
          key: 'customerPhone',
          placeholder: '请输入手机号码',
          input: {}
        }
      }
    },


    // {
    //   field: 'channelName',
    //   minWidth: 160,
    //   header: {
    //     filter: {
    //       title: '线索来源渠道',
    //       key: 'clueSourceChannelIdList',
    //       placeholder: '请选择线索来源渠道',
    //       load: (o) => {
    //         o.select.options = clueCustomerMgr.channelSource()
    //       },
    //       select: {
    //         options: [],
    //         multiple: true,
    //         filterable: true,
    //       }
    //     }
    //   }
    // },

    // {
    //   title: '分配时间',
    //   field: 'userCustomerCreateTime',
    //   minWidth: 180,

    //   header: {
    //     filter: dateOpt.range({
    //       title: '分配时间',
    //       placeholder: '请选择分配时间',
    //       startKey: 'userCreateStartTime',
    //       endKey: 'userCreateEndTime',
    //       disabled: (date) => {
    //         return date.valueOf() > new Date().getTime()
    //       },
    //       check: (val) => {
    //         if (_this.$tool.dateDiff(val.userCreateStartTime, val
    //             .userCreateEndTime).Y >= 2) {
    //           // 日期最大跨度两年
    //           _this.$Message.warning('认购日期跨度至多两年。')
    //         }
    //         return !(_this.$tool.dateDiff(val.userCreateStartTime, val
    //           .userCreateEndTime).Y >= 2)
    //       }
    //     }),
    //   },
    // },
    {
      title: '分配时间',
      field: 'distributionTime',
      minWidth: 180,

      header: {
        filter: dateOpt.range({
          title: '分配时间',
          placeholder: '请选择分配时间',
          startKey: 'distributionStartTime',
          endKey: 'distributionEndTime',
          disabled: (date) => {
            return date.valueOf() > new Date().getTime()
          },
          check: (val) => {
            if (_this.$tool.dateDiff(val.distributionStartTime, val
                .distributionEndTime).Y >= 2) {
              // 日期最大跨度两年
              _this.$Message.warning('认购日期跨度至多两年。')
            }
            return !(_this.$tool.dateDiff(val.distributionStartTime, val
              .distributionEndTime).Y >= 2)
          }
        }),
      },
    },
    {
      field: 'distributionUserName',
      minWidth: 170,
      header: {
        filter: {
          title: '分配人操作人',
          key: 'distributionUserId',
          placeholder: '请选择分配人操作人',
          load: (o) => {
            o.select.options = clueCustomerMgr.selectTeamUser()
          },
          select: {
            options: [],
            // multiple: true,
            filterable: true,
            remote: (key) => {
              return clueCustomerMgr.selectTeamUser()
            }
          }
        },

      }
    },
    {
      field: 'isReassign',
      minWidth: 180,
      header: {
        filter: {
          title: '是否可重新分配',
          key: 'isReassign',
          placeholder: '请选择是否可重新分配',

          select: {
            options: [
              { key: 1, value: '是' },
              { key: 2, value: '否' },
            ],
            filterable: true,
          }
        },

      },
      slots: {
        default: (params, h) => {
          return params.row.isReassign==1?'是':"否"
        }
      }
    },

    {
      title: '不可分配原因',
      field: 'cause',
      minWidth: 180,
    },


    {
      field: 'handles',
      title: '操作',
      width: 150,
      fixed: 'right',
      align: 'center',
      className: 'conciseContent',
      slots: {
        default: (params, h) => {
          return [h(
            'div', {
              style: {
                display: 'flex',
                flexDirection: 'column',
              },
            },
            [
              h(
                'Button', {
                  props: {
                    type: 'text',
                  },
                  style: {
                    cursor: 'pointer',
                    padding: '0 5px',
                    color: '#0F42A7'
                  },
                  on: {
                    click: (e) => {
                      e.stopPropagation()
                      _this.getDetail(params.row)
                    },
                  },
                },
                '查看详情'
              ),

            ]
          )]
        }
      }
    }
  ]
}

export default {
  options
}